/**
 * @param {number} n
 * @return {number}
 */
var monotoneIncreasingDigits = function (n) {
  let arr = (n + "").split("");
  let i = 1;
  while (i < arr.length && arr[i] >= arr[i - 1]) {
    i++;
  }

  // 如果i小于arr.length的话，说明出现了降序的情况
  if (i < arr.length) {
    // 一次将前方更大的数字进行减值
    while (i > 0 && arr[i - 1] > arr[i]) {
      arr[i - 1] -= 1;
      i--;
    }
    // 减完之后，处理第一个减值的内容，其余后方全部设置为9
    for (i += 1; i < arr.length; i++) {
      arr[i] = '9';
    }
  }
  // 去除掉前缀0
  for(let i = 0; i < arr.length; i++) {
    if(arr[i] == '0') {
      arr.shift(arr[i]);
      i--;
    }
  }
  return arr.join("");
};
let n = 10;
console.log(monotoneIncreasingDigits(n));
n = 1234
console.log(monotoneIncreasingDigits(n));
n = 332
console.log(monotoneIncreasingDigits(n));
